【Security Hub修復手順】[DynamoDB.1] DynamoDB テーブルは、需要に応じて容量をオートスケーリングする必要があります
こんにちは!AWS事業本部の吉田です。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。
本記事の対象コントロール
[DynamoDB.1] DynamoDB テーブルは、需要に応じて容量をオートスケーリングする必要があります
[DynamoDB.1] DynamoDB tables should automatically scale capacity with demand
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
本コントールはDynamoDBテーブルが読み取りおよび書き込みキャパシティーを拡張できるかどうかをチェックします。
つまり、以下のケースの場合、このコントールは失敗します。
- キャパシティモードがプロビジョンド
- 読み取りおよび書き込みキャパシティーのオートスケーリングを設定していない。
対応方法としては2通りあります。
- キャパシティモードをオンデマンドに変更する。
- 読み取りおよび書き込みキャパシティーのオートスケーリングを設定する。
対応は必須ではありませんが、キャパシティのスケーリングはスロットリング対策となりサービス稼働安定化のメリットがあります。
また、適切にオートスケーリングを設定すれば、コスト最適化にもつながります。
オートスケーリング活用時の注意点は以下のとおりです。
- オートスケールの挙動を理解し、設計してください。
参考記事:DynamoDB Auto Scaling によるスループットキャパシティの自動管理 - スパイクに対しては事前にスループットを増やしたり、Amazon DynamoDB Accelerator(DAX)を構成しておくことを推奨します。
参考記事:Amazon DynamoDB Accelerator (DAX) - AWS
修復手順
今回は読み取りおよび書き込みキャパシティーのオートスケーリングを設定する手順を記載します。
-
DynamoDBのページに移動し、対象のテーブル名をクリックします。
-
「アクション」→「キャパシティーの編集」の順にクリックします。
-
読み取りおよび書き込みキャパシティーのAuto Scalingを「オン」に変更します。
そして、最小および最大キャパシティーユニットとターゲット使用率を設定してください。
ターゲット使用率とは、消費される読み取りおよび書き込みキャパシティーユニットが設定した使用率に収まるようにスケーリングする設定です。
具体的に説明しますと、例えばターゲット使用率が70%で実際に消費されたキャパシティーユニットが7の場合、設定されるキャパシティユニットは7/0.7=10となるといった具合です。
設定した最大キャパシティーユニットと今まで消費されたキャパシティユニットを比較することができますので、ぜひ設定値の判断材料としてください。
またCloudWatchのリンクをクリックしますと、
対象テーブルの消費された読み取りおよび書き込みキャパシティーユニットのグラフ化されたメトリクスを見ることができます。
広い期間で見たい場合はCloudWatchの方を見てください。
-
キャパシティ設定が完了しましたら、右下の「変更を保存」をクリックします。
-
読み取りおよび書き込みキャパシティーのオートスケーリングが設定されていることを確認します。
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。